package cn.iocoder.yudao.module.cfs.controller.admin.datanbusermonitorinfo.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 联网设备NB类型 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DataNbUsermonitorinfoRespVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31127")
    @ExcelProperty("id")
    private Long id;

    @Schema(description = "所属单位")
    @ExcelProperty("所属单位")
    private Long companyCode;

    @Schema(description = "设备名称", example = "张三")
    @ExcelProperty("设备名称")
    private String monitorName;

    @Schema(description = "monitor_code")
    @ExcelProperty("monitor_code")
    private String monitorCode;

    @Schema(description = "所属系统(字典fire_system_type)")
    @ExcelProperty("所属系统(字典fire_system_type)")
    private String system;

    @Schema(description = "设备厂商（字典cfs_data_equipment_manufacturer_type）")
    @ExcelProperty("设备厂商（字典cfs_data_equipment_manufacturer_type）")
    private String dockCode;

    @Schema(description = "设备类型（关联cfs_data_manufactor_device表device_code字段）")
    @ExcelProperty("设备类型（关联cfs_data_manufactor_device表device_code字段）")
    private String deviceCode;

    @Schema(description = "设备型号（关联cfs_data_manufactor_device表id字段）", example = "1")
    @ExcelProperty("设备型号（关联cfs_data_manufactor_device表id字段）")
    private String monitorType;

    @Schema(description = "运营商（1中国电信 2中国移动 3中国联通）")
    @ExcelProperty("运营商（1中国电信 2中国移动 3中国联通）")
    private String commOperator;

    @Schema(description = "通讯协议（TCP、UDP、HTTP）")
    @ExcelProperty("通讯协议（TCP、UDP、HTTP）")
    private String commProtocol;

    @Schema(description = "IMEI")
    @ExcelProperty("IMEI")
    private String imei;

    @Schema(description = "iccid", example = "16591")
    @ExcelProperty("iccid")
    private String iccid;

    @Schema(description = "装机日期")
    @ExcelProperty("装机日期")
    private LocalDateTime installDate;

    @Schema(description = "安装位置")
    @ExcelProperty("安装位置")
    private String installAddress;

    @Schema(description = "入网时间")
    @ExcelProperty("入网时间")
    private LocalDateTime networkDate;

    @Schema(description = "服务到期时间")
    @ExcelProperty("服务到期时间")
    private LocalDateTime servicedDate;

    @Schema(description = "运行状态（0正常 1故障 2报警）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("运行状态（0正常 1故障 2报警）")
    private String runState;

    @Schema(description = "经度")
    @ExcelProperty("经度")
    private BigDecimal lng;

    @Schema(description = "纬度")
    @ExcelProperty("纬度")
    private BigDecimal lat;

    @Schema(description = "所属消防网格", example = "25279")
    @ExcelProperty("所属消防网格")
    private Long fireGridId;

    @Schema(description = "监测的设备类型（字典cfs_data_monitor_type）", example = "2")
    @ExcelProperty("监测的设备类型（字典cfs_data_monitor_type）")
    private String monitoringType;

    @Schema(description = "对接app_id", example = "15730")
    @ExcelProperty("对接app_id")
    private String appId;

    @Schema(description = "第三方数据id", example = "18087")
    @ExcelProperty("第三方数据id")
    private String dataId;

    @Schema(description = "状态", example = "1")
    @ExcelProperty("状态")
    private Integer status;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "创建人")
    @ExcelProperty("创建人")
    private Long createUser;

    @Schema(description = "修改人")
    @ExcelProperty("修改人")
    private Long updateUser;

    @Schema(description = "安装用户类型(关联字典monitor_install_user_type)", example = "1")
    @ExcelProperty("安装用户类型(关联字典monitor_install_user_type)")
    private String installUserType;

}